package db4o;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Set;

import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;

public class CargaBD {
	
	@SuppressWarnings({ "rawtypes", "unchecked" })
	public ArrayList CreaObjetos(){
		Pais p1= new Pais("pais1", null);
		Pais p2=new Pais("Pais2",null);
		Pais p3=new Pais("Pais3",null);
		Seleccion s1=new Seleccion("Celeste", null, null, "pais1");
		Seleccion s2=new Seleccion("Blanco",null,null,"Pais2");
		Seleccion s3=new Seleccion("Amarillo",null,null,"Pais3");
		
		Tecnico t1=new Tecnico(10, s1);
		t1.setNombre("Tecnico1");
		t1.setApellido("TApellido1");
		t1.setPasaporte(1);
		Set<Tecnico> s1t=new HashSet();
		s1t.add(t1);
		s1.setCuerpoTecnico(s1t);
		
		Tecnico t2=new Tecnico(10, s2);
		t2.setNombre("Tecnico2");
		t2.setApellido("TApellido2");
		t2.setPasaporte(2);
		Set<Tecnico> s2t=new HashSet();
		s2t.add(t2);
		s2.setCuerpoTecnico(s2t);
		
		Tecnico t3=new Tecnico(10, s3);
		t3.setNombre("Tecnico3");
		t3.setApellido("TApellido3");
		t3.setPasaporte(3);
		Set<Tecnico> s3t=new HashSet();
		s3t.add(t3);
		s3.setCuerpoTecnico(s3t);
		Jugador j1=new Jugador(10, s1);
		j1.setNombre("Jugador1");
		j1.setApellido("JApellido1");
		j1.setPasaporte(1);
		
		Jugador j2=new Jugador(11, s2);
		j2.setNombre("Jugador2");
		j2.setApellido("JApellido2");
		j2.setPasaporte(2);
		
		Jugador j3=new Jugador(12, s3);
		j3.setNombre("Jugador1");
		j3.setApellido("JApellido3");
		j3.setPasaporte(3);
		
		Set<Jugador> s1j=new HashSet();
		s1j.add(j1);
		s1.setJugadores(s1j);
		Set<Jugador> s2j=new HashSet();
		s1j.add(j2);
		s2.setJugadores(s2j);
		Set<Jugador> s3j=new HashSet();
		s1j.add(j3);
		s3.setJugadores(s3j);
		p1.setSeleccion(s1);
		p2.setSeleccion(s2);
		p3.setSeleccion(s3);
		
		Set<Seleccion> g1s=new HashSet();
		g1s.add(s1);
		g1s.add(s2);
		Grupo g1=new Grupo("A", g1s);
		
		Set<Seleccion> g2s=new HashSet();
		g2s.add(s3);
		Grupo g2=new Grupo("B",g2s);

		Arbitro a1= new Arbitro("Principal", p1);
		Set<Arbitro> e1a=new HashSet();
		e1a.add(a1);
		Encuentro e1=new Encuentro(1, s1, s2, null, 2, 5, 90, e1a);
		
		Arbitro a2=new Arbitro("Principal1",p2);
		Set<Arbitro> e2a=new HashSet();
		e2a.add(a2);
		
		Encuentro e2=new Encuentro(2, s3, s1, null,2, 4, 90, e2a);
		
		Arbitro a3=new Arbitro("Principal1",p2);
		Set<Arbitro> e3a=new HashSet();
		e3a.add(a3);
		
		Encuentro e3=new Encuentro(3, s3, s2, null, 5, 0, 92, e3a);
		
		ArrayList objetos= new ArrayList();
		objetos.add(g1);
		objetos.add(g2);
		objetos.add(e1);
		objetos.add(e2);
		objetos.add(e3);
		
		return objetos;
	}
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public void CargarBd(ArrayList objetos){
		ObjectContainer db = Db4oEmbedded.openFile("obligatorioBD2");
		
		for (Object o : objetos){
			db.store(o);
		}
			
		
		db.close();

	}
	
}
